﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace Paint
{
    [Serializable]
    public abstract class Drawable
    {
        public Point startPoint { get; set; }
        public Point endPoint { get; set; }
        public PaintContext context {get; set;}

        protected Drawable(Point p1, Point p2)
        {
            this.startPoint = p1;
            this.endPoint = p2;
        }

        public Drawable() { }

        public abstract void draw(Graphics g);

        public static Drawable Copy(Drawable drawable)
        {
            return (Drawable) drawable.MemberwiseClone();
        }
    }
}
